<template>
    <div>
        <el-card class="form-container" shadow="never">
            <el-steps :active="activeStep" finish-status="success" align-center>
                <el-step title="填写商品信息"></el-step>
                <el-step title="填写商品促销"></el-step>
                <el-step title="填写商品属性"></el-step>
                <el-step title="选择商品关联"></el-step>
            </el-steps>
            <PmsProductInfoDetail v-show="showStatus[0]" v-model="productParam" :is-edit="isEdit" @nextStep="nextStep"></PmsProductInfoDetail>
            <PmsProductSaleDetail v-show="showStatus[1]" v-model="productParam" :is-edit="isEdit" @nextStep="nextStep" @prevStep="prevStep"></PmsProductSaleDetail>
            <PmsProductAttrDetail v-show="showStatus[2]" v-model="productParam" :is-edit="isEdit" @nextStep="nextStep" @prevStep="prevStep"></PmsProductAttrDetail>
            <PmsProductRelationDetail v-show="showStatus[3]" v-model="productParam" :is-edit="isEdit" @prevStep="prevStep" @finishCommit="finishCommit"></PmsProductRelationDetail>
        </el-card>
    </div>
</template>

<script>
    import PmsProductInfoDetail from './PmsProductInfoDetail';
    import PmsProductSaleDetail from './PmsProductSaleDetail';
    import PmsProductAttrDetail from './PmsProductAttrDetail';
    import PmsProductRelationDetail from './PmsProductRelationDetail';

    import {createPmsProduct, getPmsProductInfo, updatePmsProduct} from '@/api/pmsApi'

    const defaultProductParam = {
        albumPics: '',// 画册图片(限制为5张,逗号分割)
        brandId: null,// 品牌id
        brandName: '', // 品牌名称
        deleteStatus: 0, // 删除状态(0->未删除)
        description: '', // 商品描述
        detailTitle: '', // 详情标题
        detailDesc: '', // 详情描述
        detailHtml: '', // 产品详情网页内容
        detailMobileHtml: '', // 移动端网页详情

        feightTemplateId: 0,// 运费模版id

        flashPromotionCount: 0,
        flashPromotionId: 0,
        flashPromotionPrice: 0,
        flashPromotionSort: 0,

        giftGrowth: 0,// 赠送的成长值
        giftPoint: 0,// 赠送的积分
        keywords: '',// 关键字

        lowStock: 0,//库存预警值
        name: '',//商品名称
        newStatus: 0,//新品状态:0->不是新品；1->新品
        note: '',//备注
        originalPrice: 0,//市场价
        price: 0,//价格
        pic: '',// 图片

        previewStatus: 0,//是否为预告商品：0->不是；1->是
        productAttributeCategoryId: null,//品牌属性分类id
        //商品属性相关{productAttributeId: 0, value: ''}
        productAttributeValueList:[],

        // 会员价格 {memberLevelId: 0,memberPrice: 0,memberLevelName: null}
        memberPriceList:[],
        // 商品满减
        productFullReductionList:[{fullPrice: 0, reducePrice: 0}],
        // 商品阶梯价格
        productLadderList:[{count: 0,discount: 0,price: 0}],

        //商品sku库存信息{lowStock: 0, pic: '', price: 0, sale: 0, skuCode: '', spData: '', stock: 0}
        skuStockList: [],
        //商品相关专题{subjectId: 0}
        subjectProductRelationList: [],
        //商品相关优选{prefrenceAreaId: 0}
        prefrenceAreaProductRelationList: [],

        productCategoryId: null,//商品分类Id
        cateParentId: null,// 商品父分类id(级联选择时使用)
        productCategoryName: '',//商品分类名称
        productSn: '',// 货号

        promotionType: 0,//促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购
        promotionStartTime: '',//促销开始时间
        promotionEndTime: '',//促销结束时间
        promotionPerLimit: 0,//活动限购数量
        promotionPrice: null,//促销价格

        publishStatus: 0,//上架状态：0->下架；1->上架
        recommandStatus: 0,//推荐状态；0->不推荐；1->推荐
        sale: 0,//销量
        serviceIds: '',//以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮
        sort: 0,//排序
        stock: 0,//库存
        subTitle: '',//副标题
        unit: '',//单位
        usePointLimit: 0,//限制使用的积分数
        verifyStatus: 0,//审核状态：0->未审核；1->审核通过
        weight: 0//商品重量，默认为克
    }


    export default {
        name: 'PmsProductDetail',
        components: {
            PmsProductInfoDetail,
            PmsProductSaleDetail,
            PmsProductAttrDetail,
            PmsProductRelationDetail
        },
        props: {
            isEdit:{
                type: Boolean,
                default: false
            }
        },
        data() {
            return {
                activeStep: 0,
                productParam: Object.assign({}, defaultProductParam),
                showStatus: [true, false, false, false]
            }
        },
        created() {
            if (this.isEdit) {
                // 从路由参数拿到id,查询商品信息回填
                let id = this.$route.query.id;
                getPmsProductInfo(id).then(response => {
                    console.log(response);
                    console.log(id);
                    this.productParam = response.data.data;
                });  
            }
        },
        methods: {
            hideAll() {
                for(let i = 0; i < this.showStatus.length; i++) {
                    this.showStatus[i] = false;
                }
            },
            prevStep() {
                if (this.activeStep > 0 && this.activeStep < this.showStatus.length) {
                    this.activeStep--;
                    this.hideAll();
                    this.showStatus[this.activeStep] = true;
                }
            },
            nextStep() {
                if (this.activeStep < this.showStatus.length - 1) {
                    this.activeStep++;
                    this.hideAll();
                    this.showStatus[this.activeStep] = true;
                }
            },
            // 商品提交
            finishCommit(isEdit) {
                this.$confirm('是否要提交该产品', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    if (isEdit) {
                        let id = this.$route.query.id;
                        updatePmsProduct(id, this.productParam).then(response => {
                            this.$message({
                                type: 'success',
                                message: '更新商品成功',
                                duration:1000
                            });
                            this.$router.push({ path:'/pmsProductIndex'})
                        });
                    } else {
                        // 添加商品
                        createPmsProduct(this.productParam).then(response => {
                            this.$message({
                                type: 'success',
                                message: '添加商品成功',
                                duration:1000
                            });
                            // this.$router.push({ path:'/pmsProductIndex'})
                            // 重新加载
                            // location.reload();
                        });   
                    }
                })
            }
        }
    }
</script>

<style>

</style>